# 这里主要是一个函数加载器，负责从给定的模块文件(.py中)加载给定名称的函数的地址
import importlib
import inspect


def config_loader(config_file, setting):
    with open(config_file, "r") as f:
        import json
        json_config = f.read()
        module_dict = json.loads(json_config)[setting]
    return module_dict


def function_loader(module, function_name):
    module = importlib.import_module("{}".format(module))
    for fun in inspect.getmembers(module, inspect.isfunction):
        if fun[0] == function_name:
            return fun[1]
    return None
